The present disclosure relates to antifuse structures and methods of forming antifuse structures, and in particular, to the use of hemispherical grained silicon or amorphous silicon as part of an inter-electrode dielectric in an antifuse.
FPGAs are known in the art. An FPGA comprises an interconnect routing architecture and programmable elements that may be programmed to selectively interconnect the logic modules to one another and to define the functions of the logic modules. To implement a particular circuit function, the circuit is mapped into the array and the appropriate programmable elements are programmed to implement the necessary wiring connections that form the user circuit.
An FPGA may also include other components, such as static random access memory (SRAM) blocks or dynamic random access memory (DRAM) arrays. Horizontal and vertical routing channels provide interconnections between the various components within an FPQA. Programmable connections are provided by programmable elements between the routing resources.
An FPGA can be programmed to implement virtually any set of digital functions by programming the programmable elements to implement the desired digital functions. There arc several different types of programmable elements used in FPGAs, for example, MOS transistors and antifuse elements.
Antifuses may be used in FPGAs for programming purposes and as a mechanism for changing the operating mode. Antifuses may also be programmed to encode identification information about the FPGA, such as when the FPGA was fabricated. In addition, antifuses may be used as non-volatile programmable memory elements to store logic states in memories for row and column redundancy implementation. For example, antifuses for redundancy implementation on a DRAM are usually constructed in the same manner as the memory cell capacitors in a DRAM array. When programmed, an antifuse creates a short circuit or low resistance link, thereby enabling the particular redundant row, column or memory location.
FPGAs can contain hundreds to thousands of antifuses that may or may not need to be programmed. Therefore, it can take a large amount of time to program the antifuses in an FPGA. An unprogrammed antifuse essentially functions as a capacitor. For this reason, an antifuse having a reduced capacitance and low leakage, while maintaining low programming voltages would be beneficial.
However, improving the programming voltage on an antifuse (e.g., by decreasing the thickness of the dielectric or the size of the electrodes) can increase current leakage across the unprogrammed antifuse due to the smaller area occupied by it and thinner dielectric employed in it. Hence, an antifuse having a significantly reduced leakage current while maintaining reduced capacitance would also be beneficial.